diff --git a/post/lib_powerpc/multi.c b/post/lib_powerpc/multi.c
index b6efbb5..f9fe719 100644
--- a/post/lib_powerpc/multi.c
+++ b/post/lib_powerpc/multi.c
@@ -44,27 +44,24 @@
 {
 	int ret = 0;
 	unsigned int i;
+	ulong src[26], dst[26];
 	int flag = disable_interrupts();
 
-	if (ret == 0) {
-		ulong src[26], dst[26];
+	ulong code[] = {
+		ASM_LMW(5, 3, 0),	/* lmw	r5, 0(r3)	*/
+		ASM_STMW(5, 4, 0),	/* stmr	r5, 0(r4)	*/
+		ASM_BLR,		/* blr			*/
+	};
 
-		ulong code[] = {
-			ASM_LMW(5, 3, 0),
-			ASM_STMW(5, 4, 0),
-			ASM_BLR,
-		};
-
-		for (i = 0; i < ARRAY_SIZE(src); ++i) {
-			src[i] = i;
-			dst[i] = 0;
-		}
-
-		cpu_post_exec_02(code, (ulong) src, (ulong) dst);
-
-		ret = memcmp(src, dst, sizeof(dst)) == 0 ? 0 : -1;
+	for (i = 0; i < ARRAY_SIZE(src); ++i) {
+		src[i] = i;
+		dst[i] = 0;
 	}
 
+	cpu_post_exec_02(code, (ulong) src, (ulong) dst);
+
+	ret = memcmp(src, dst, sizeof(dst)) == 0 ? 0 : -1;
+
 	if (ret != 0)
 		post_log("Error at multi test !\n");
 
